// app.ts
import EventBus from './utils/eventBus';

App<IAppOption>({
  globalData: {
    eventBus: new EventBus()
  },
  
  onLaunch() {
    // 展示本地存储能力
    const logs = wx.getStorageSync('logs') || []
    logs.unshift(Date.now())
    wx.setStorageSync('logs', logs)

    // 登录
    wx.login({
      success: res => {
        console.log(res.code)
        // 发送 res.code 到后台换取 openId, sessionKey, unionId
      },
    })

    // 初始化全局事件监听
    this.initGlobalEvents();
  },

  // 初始化全局事件监听
  initGlobalEvents() {
    // 监听用户注销事件
    this.globalData.eventBus.on('user:logout', () => {
      console.log('收到用户注销事件');
      this.handleUserLogout();
    });
  },

  // 处理用户注销
  handleUserLogout() {
    // 清除本地存储的用户相关数据
    wx.removeStorageSync('token');
    wx.removeStorageSync('userInfo');
    
    // 可以在这里添加其他需要清理的数据
    // wx.removeStorageSync('otherUserData');
    
    console.log('用户数据已清除');
  },

  // 手动触发用户注销（供其他页面调用）
  logout() {
    this.globalData.eventBus.emit('user:logout');
  }
})